# -*- coding: utf-8 -*-



# 抽取内容到本地
'''

import urllib2
from lxml import etree
from lxml import html 
url="http://news.baidu.com"  
request=urllib2.Request(url)  #请求URL
response=urllib2.urlopen(request)  #打开URL
html=response.read()      
selector=etree.HTML(html)  #获取DOM树所有节点
print selector
blog=selector.xpath("//h2/text()").extract()[0]
print blog
'''

'''

import urllib.request  
req=urllib.request.urlopen('http://www.imooc.com/course/list')  
buf=req.read()  
#显示从网页上抓取到的内容  
buf  
#通过正则表达式获取图片地址  
import re  
#本人用的是python3.5，直接用findall会出错，因此需要下面一句对buf进行编码  
buf=buf.decode('UTF-8')  
listurl=re.findall(r'src=.+\.jpg',buf)  
listurl=re.findall(r'http:.+\.jpg',buf)#显示图片的网址  
listurl  
#将图片写入本地  
i=0  
for url in listurl:  
     f=open(r"G:\123"+'/'+str(i)+'.jpg','wb')  
     req=urllib.request.urlopen(url)  
     buf=req.read()  
     f.write(buf)  
     i+=1  


	 
	 
'''	
'''
#coding=utf-8

#urllib模块提供了读取Web页面数据的接口
import urllib
#re模块主要包含了正则表达式
import re
#定义一个getHtml()函数
def getHtml(url):
    page = urllib.urlopen(url)  #urllib.urlopen()方法用于打开一个URL地址
    html = page.read() #read()方法用于读取URL上的数据
    return html

def getImg(html):
    reg = r'src="(.+?\.jpg)" pic_ext'    #正则表达式，得到图片地址
    imgre = re.compile(reg)     #re.compile() 可以把正则表达式编译成一个正则表达式对象.
    imglist = re.findall(imgre,html)      #re.findall() 方法读取html 中包含 imgre（正则表达式）的    数据
    #把筛选的图片地址通过for循环遍历并保存到本地
    #核心是urllib.urlretrieve()方法,直接将远程数据下载到本地，图片通过x依次递增命名
    x = 0

    for imgurl in imglist:
    urllib.urlretrieve(imgurl,'C:\Users\cm\Desktoplaa.html', 0)
            x+=1


html = getHtml("http://tieba.baidu.com/p/xxxx")
print getImg(html)

'''

'''
import urllib
import os
def Schedule(a,b,c):
'''
'''
a:已经下载的数据块
b:数据块的大小
c:远程文件的大小
'''
'''
per = 100.0 * a * b / c
if per > 100 :
    per = 100
print '%.2f%%' % per
url = 'http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2'
#local = url.split('/')[-1]
local = os.path.join('/data/software','Python-2.7.5.tar.bz2')
urllib.urlretrieve(url,local,Schedule)


'''


import request
import urllib.request  
req=urllib.request.urlopen('http://news.baidu.com/course/list')  
buf=req.read()  
#显示从网页上抓取到的内容  
buf  
#通过正则表达式获取图片地址  
import re  
buf=buf.decode('UTF-8')  
listurl=re.findall(r'src=.+\.jpg',buf)  
listurl=re.findall(r'http:.+\.jpg',buf)#显示图片的网址  
listurl  
#将图片写入本地  
i=0  
for url in listurl:  
     f=open(r"F:/123"+'/'+str(i)+'.jpg','wb')  
     req=urllib.request.urlopen(url)  
     buf=req.read()  
     f.write(buf)  
     i+=1  




